ইউনিক্স অপারেটিং সিস্টেমের সাথে সি প্রোগ্রামিং অত্যন্ত সম্পর্কযুক্ত। এই অধ্যায়ে সি প্রোগ্রামিং এর ইতিহাস সম্পর্কে আলোচনা করা হয়েছে।
ইউনিক্স সিস্টেমের ভার্সন-PDP-11 এসেম্বলি ল্যাঙ্গুয়েজ দিয়ে লেখা। এসেম্বলি ল্যাঙ্গুয়েজ হলো লো-লেভেল(low-level) প্রোগ্রামিং ল্যাঙ্গুয়েজ। যা শুধু নির্দিষ্ট কোনো প্লাটফর্মের জন্য লেখা হয়। ইহা লেখা এবং বুঝাও অনেক কঠিন।
ইউনিক্স অপারেটিং সিস্টেমের ডেভেলপার ডেনিশ রিচি এবং স্টেফেন সি. জনশন সিস্টেমকে পূনরায় বি ল্যাঙ্গুয়েজে লেখার সিদ্ধান্ত নিলেন। যাইহোক, PDP-11 এর কিছু বৈশিষ্ট্য বি এর জন্য পর্যাপ্ত ছিলনা, যা তাদেরকে সি ল্যাঙ্গুয়েজ ডেভেলপমেন্টের জন্য পরিচালিত করেছিল।
১৯৭২ সালে ইউনিক্স সিস্টেম PDP-11-এ সি এর ডেভেলপমেন্ট শুরু হয়। তখন উনিক্স এর বিশাল অংশ পূনরায় সি দিয়ে লেখা হয়েছিল। ১৯৭৩ সালে ইউনিক্স কার্নেলে সি যথেষ্ট শক্তিশালি ভাষা হিসাবে ব্যবহৃত হয়েছিল। ডেনিশ রিচি এবং স্টেফেন সি. জনশন ভাষাটিকে ইউনিক্স অপারেটিং সিস্টেমে বহনযোগ্য করে তোলার জন্য কয়েক বছর ধরে ইহাতে আরোও কিছু পরিবর্তন এনেছিলেন।
১৯৭৮ সালে সি প্রোগ্রামিং এর প্রথম বই "The C Programming Language" প্রকাশিত হয়েছিল। বইটির প্রথম সংস্করণ প্রোগ্রামারদের কাছে অনেক বছর যাবৎ ভাষাটির সাধারণ বর্ণনা সর্বরাহ করেছিল। ব্রায়ান কার্নিংহাম এবং ডেনিশ রিচি কর্তৃক লেখা এই বইটি "K&R" নামে অনেক জনপ্রিয়।
সি ল্যাঙ্গুয়েজ কয়েক বছরের মধ্যেই দ্রুত বৃদ্ধি পাওয়ায় ভাষাটির জন্য কিছু নিয়ম(standard) ঠিক করে দেওয়ার প্রয়োজন হয়েছিল।
C89: ১৯৮৯ সালে আমেরিকান ন্যাশন্যাল স্টান্ডার্ড ইন্সটিটিউট(ANSI) কর্তৃক সি এর প্রথম স্টান্ডার্ড প্রকাশিত হয়েছিল। সি এর এই ভার্সনটি প্রোগ্রামারদের কাছে C89 নামে জনপ্রিয় ছিল।
C99: ১৯৯৯ সালে সি স্টান্ডার্ডে আরো নতুন কিছু বৈশিষ্ট্য যেমন- নতুন ইনলাইন ফাংশন, নতুন ডাটাটাইপ ইত্যাদি সংযুক্ত করা হয়েছিল। ইহা প্রোগ্রামারদের কাছে C99 নামে পরিচিত ছিল।
C11: C11 এ নতুন কিছু বৈশিষ্ট্য যেমন- টাইপ জেনেরিক ম্যাক্রো,অটোমিক অপারেশন এবং এনোনিমাস স্ট্রাকচার যোগ করা হয়েছে যেগুলো C99 এ ছিল না।
এই সবগুলো স্টান্ডার্ড আনসি সি নামেও পরিচিত।
“স্টান্ডার্ড সি প্রোগ্রাম বহযোগ্য”. ইহার অর্থ হচ্ছে, আনসি সি অনুসরণ করে লেখা প্রোগ্রাম অপারেটিং সিস্টেম গুলোর মধ্যে স্থানান্তরযোগ্য।
আপনি যদি সি প্রোগ্রামিং এ নতুন হয়ে থাকেন তাহলে আমদের পরামর্শ হলো আনসি সি অনুসরণ করে প্রোগ্রামিং লেখার যা সকল ক্ষেত্রেই গ্রহণযোগ্য। ইহা আপনাকে ভাষাটি লেখার উদ্দ্যেশ্য বুঝতে সহায়তা করবে।
common.read_more